package com.hxkj.mapper;

import com.hxkj.domain.po.AuthRole;
import com.platform.common.domain.annotation.EnableDataSource;
import org.springframework.stereotype.Repository;
import java.util.List;

/**
* 数据库操作接口
*
* @author: chenwei
* @version: 1.0
* @datetime: 2018-05-19 11:51:25
*
*/
@Repository("authRoleMapper")
public interface AuthRoleMapper {

    /**
    *
    * 根据主键查询AuthRole对象
    *
    * @param roleId
    * @return AuthRole对象
    */
    @EnableDataSource("slave")
    AuthRole selectByPrimaryKey(Long roleId);

    /**
     * 根据siteId查询AuthRole对象
     *
     * @param siteId
     * @return AuthRole对象
     */
    AuthRole findRoleBySiteId(Long siteId);

    /**
    *
    * 根据查询条件查询符合条件的AuthRole对象
    *
    * @param authRole
    * @return 符合条件的AuthRole对象List
    */
    @EnableDataSource("slave")
    List<AuthRole> select(AuthRole authRole);


    /**
    *
    * 根据主键删除AuthRole对象
    *
    * @param roleId
    * @return 影响条件数
    */
    @EnableDataSource("master")
    int deleteByPrimaryKey(Long roleId);


    /**
     * 根据roleId删除AuthRole对象
     *
     * @param roleId
     * @return 影响条件数
     */
    @EnableDataSource("master")
    int deleteRoleByRoleId(Long roleId);

    /**
    *
    * 根据条件删除符合条件的AuthRole对象
    *
    * @param authRole
    * @return 影响条件数
    */
    @EnableDataSource("master")
    int delete(AuthRole authRole);

    /**
    *
    * 插入AuthRole对象
    *
    * @param authRole
    * @return 影响条件数
    */
    @EnableDataSource("master")
    int insert(AuthRole authRole);

    /**
    *
    * 更新AuthRole对象
    *
    * @param authRole
    * @return 影响条件数
    */
    @EnableDataSource("master")
    int update(AuthRole authRole);

    /**
     * 根据用户查找对应的权限
     * @param userId
     * @return
     */
    @EnableDataSource("slave")
    List<AuthRole> findAuthRoleByUser(Long userId);

    /**
     * 根据角色id跟名称查询角色
     * @param authRole
     * @return
     */

    AuthRole selectRoleName(AuthRole authRole);


    /**
    * @author Mr.zheng
    * @Description getRoleBySiteId 根据站点ID获取角色ID
    * @Date 19:39 2018/6/4
    * @Param [siteId]
    * @return com.hxkj.domain.po.AuthRole
    **/
    AuthRole getRoleBySiteId(Long siteId);
}
